#include <iostream>
#include <string>


//类型参数化:函数模板
template<typename T>
T add(T a,T b)
{
    std::cout<<"add(T,T)"<<std::endl;
    return a + b;
}

int add(int a,int b)
{
    std::cout<<"add(int,int)"<<std::endl;
    return a + b;
}

int main()
{
    //模板的隐式调用:自动选择最适合的类型(可以不写<类型>)--可能会有问题
    std::cout<<add(1,'a')<<std::endl;
    return 0;
}